using System.Collections.Generic;
using System.Diagnostics;
using Microsoft.Xna.Framework;
using Rocuna.Controls;
using Rocuna.Core;

namespace Rocuna.GameEngine.State.Screens
{
    /// <summary>
    /// Base for Menu screens.
    /// </summary>
    public class MenuScreen : Screen
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="MenuScreen"/> class.
        /// </summary>
        /// <param name="game"></param>
        public MenuScreen(Game game)
            : base(game)
        {
            Buttons = new List<Button>();
        }

        #region Properties

        /// <summary>
        /// Gets or sets the buttons.
        /// </summary>
        /// <value>
        /// The buttons.
        /// </value>
        public List<Button> Buttons { get; set; }

        #endregion

        /// <summary>
        /// Called when the DrawableGameComponent needs to be drawn. Override this method with component-specific drawing code. Reference page contains links to related conceptual articles.
        /// </summary>
        /// <param name="gameTime">Time passed since the last call to Draw.</param>
        public override void Draw(GameTime gameTime)
        {
            foreach (var button in Buttons)
            {
                button.Draw(gameTime);
            }
            base.Draw(gameTime);
        }

    }
}